Changing score attributes

As seen before, you can change the signature of the whole set of instruments by normalshapemediumseriesnormalshapemediumseries\generalsignature n where n > 0 means a number of sharps, n < 0 means a number of flats. Or, you may prefer to change the signature of only one or two instruments by the statement:


normalshapemediumseries\signr=s


where r is the roman numeral of the instrument considered, and s its specific signature. Since you may change simultaneously (with respect to the score) but consecutively (with respect to your code) the signatures of several instruments, this change takes place only when you say normalshapemediumseriesnormalshapemediumseries\changesignature (within a bar) or normalshapemediumseriesnormalshapemediumseries\changecontext (after a single vertical rule) or normalshapemediumseriesnormalshapemediumseries\Changecontext (after a double vertical rule). In the same way, you may want to change the active clefs. This is done by


normalshapemediumseries normalshapemediumseriesnormalshapemediumseries\cleftoksr={ { s1} { s2} { s3} { s4} } %


where r is the roman numeral of the instrument, s1 specifies the clef of the lower staff, s2 the clef of the second staff, etc. One must always give four values with the above syntax, otherwise... s1 = 6 means the bass clef (clef de fa in French), s1 = 0 means the violin clef (clef de sol in French), s1 = 1 through s1 = 5 mean the alto clef (clef d'ut in French) set on first (lower) through fifth (upper line of the staff). As seen above in the case of signatures, several clefs may be changed at the same time; thus all the clef changes become operational only when the macro normalshapemediumseriesnormalshapemediumseries\changeclefs is coded. Normal usage consists in issuing this command before the bar, not after (this helps the music player when the change happens across a line break).

Caution should be exercized when changing clefs when beams are pending: in fact the normalshapemediumseriesnormalshapemediumseries\changeclefs perturbate the computation of beams and this command should be invoked only

If a clef change has to be typeset when one or several beams are pending, the operation should be done in a more manual way:

As an example, an excerpt of BRAHMS's Intermezzo op. 117,1 provided by Miguel FILGUEIRAS:


\begin{music}
\parindent 1cm
\relax
\nbporteesi=2\relax
\cleftoksi={6000}% F...
...xtstaff\ibbu1h{-1}\zq{ae}\qh1h\tbu1\zq{N}\qh1g\enotes
\finextrait
\end{music}
which was coded as:

\begin{music}
\def\nbinstruments{1}\relax
\def\freqbarno{9999}% no bar numbers
\nbporteesi=2\relax
\cleftoksi={6000}\generalsignature{-3}% 3 flats
\debutextrait
\normal
\off{1em}\temps\Notes\larpeggio{E}5\zq{EI}\qu{N}%
\charnote0{\smallclefdesol}\relax
\nextstaff\qsk\ibl0e{-1}\zq{eg}\qb0l\zq{d}\qb0k\enotes
\cleftoksi={0000}\saveclefs\Notes\tbu0\zq{ce}\qh0j\relax
\nextstaff\zq{sn}\cl{l}\enotes
\Notes\zq{be}\qu{i}\nextstaff\zq{sn}\ql{l}\enotes
\cleftoksi={6000}\changeclefs\Notes\zq{E}\cu{I}\relax
\nextstaff\ibbu1h{-1}\zq{ae}\qh1h\tbu1\zq{N}\qh1g\enotes
\finextrait
\end{music}


Meter changes are implemented the same way:


normalshapemediumseries\metertoksr={ { m1} { m2} { m3} { m4} } %


where r is the roman numeral of the instrument, m1 specifies the meter of the lower staff, m2 the meter of the second staff, etc. One must always give four values with the above syntax, otherwise... Since meter changes are meaningful only across bars, they are actually taken in account with normalshapemediumseriesnormalshapemediumseries\changecontext or normalshapemediumseriesnormalshapemediumseries\Changecontext or normalshapemediumseriesnormalshapemediumseries\alaligne or normalshapemediumseriesnormalshapemediumseries\alapage.